home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 41 / Amiga Format CD41 (1999-06)(Future Publishing)(GB)[!][issue 1999-07].iso / -seriously_amiga- / misc / notes / english / basskey.rexx < prev    next >
OS/2 REXX Batch file  |  1999-04-19  |  46KB  |  1,505 lines

  1. /* subprogram for Notes.pprx */
  2.  
  3. signal on halt
  4. signal on break_c
  5. signal on break_e
  6. signal on break_d
  7. call ppm_SetStyle(N)
  8. call ppm_SetMagMode(250)
  9. call ppm_UpdateScreen()
  10.  
  11. noteneingabe:
  12.     sysform = "choosen notesystem:2"'0a'x"number of accident.:2"'0a'x"smallest noteworth:4"
  13.     systemform = ppm_Getform("Please give in ... (nothing=BREAK)", 3, sysform)
  14.     if systemform = '' then exit_msg("Break!")
  15.     parse var systemform systemart '0a'x vz '0a'x xgrd
  16.  
  17.     select
  18.      when systemart == '2' then zdist = 4
  19.      when systemart == '1v' then zdist = 2
  20.      when systemart == '1b' then zdist = 2
  21.      when systemart == '' then exit_msg("Break!")
  22.      when vz == '' then exit_msg("Break!")
  23.      otherwise noteneingabe()
  24.     end
  25.  
  26.     zdist2 = zdist-2
  27.  
  28.     select
  29.      when xgrd == '1' then xg =0.7
  30.      when xgrd == '2' then xg =1.4
  31.      when xgrd == '4' then xg =2.8
  32.      when xgrd == '8' then xg =5.6
  33.      when xgrd == '16' then xg =11.2
  34.      when xgrd == '' then exit_msg("Break!")
  35.      otherwise noteneingabe()
  36.     end
  37.  
  38.    /* pointmessure of the notes */
  39.    notepkt = 26
  40.    call ppm_SetJustification(0)
  41.  
  42.    secondbox=ppm_BoxNum()
  43.  
  44.    zz = 0 /* linecounter (german=Zeilenzähler) */
  45.    notex = 0
  46.    notey = 0
  47.    page = ppm_CurrentPage()
  48.  
  49. clickpos:
  50.    res = ppm_GetUserText(2, "Manual or align to Box? m/b")
  51.    if res == 'M' then res = 'm'
  52.    if res == 'B' then res = 'b'
  53. click:
  54.  select
  55.    when res == 'm' then
  56.      do
  57.        clickpos = ppm_GetClickPosition("Pleace click on the place, where I shall begin...")
  58.        if clickpos == 0 then
  59.            do
  60.            click()
  61.            end
  62.        else
  63.            do
  64.            notey = word(clickpos, 2)
  65.            notex = word(clickpos, 1)
  66.            if notex < (2+(vz*0.175)) then notex = (2+(vz*0.175))
  67.            xw = notex
  68.            yw = notey
  69.            if systemart ~= '2' then
  70.             do
  71.              if notey <= 3.3  then zz= 0   /* zz ist ZeilenZähler */
  72.              if ((notey > 3.5)&(notey < 5.3)) then zz = 2
  73.              if ((notey > 5.5)&(notey < 7.3)) then zz = 4
  74.              if ((notey > 7.5)&(notey < 9.3)) then zz = 6
  75.              if ((notey > 9.5)&(notey < 11.3)) then zz = 8
  76.              if ((notey > 11.5)&(notey < 13.3)) then zz = 10
  77.              if ((notey > 13.5)&(notey < 15.3)) then zz = 12
  78.              if ((notey > 15.5)&(notey < 17.3)) then zz = 14
  79.              if ((notey > 17.5)&(notey < 19.3)) then zz = 16
  80.              if ((notey > 19.5)&(notey < 21.3)) then zz = 18
  81.              if ((notey > 21.5)&(notey < 23.3)) then zz = 20
  82.              if ((notey > 23.5)&(notey < 25.3)) then zz = 22
  83.              if notey > 25.3 then noteneingabe()
  84.             end
  85.            else
  86.             do
  87.              if notey <= 5.3  then zz= 0   /* zz ist ZeilenZähler */
  88.              if ((notey > 5.4)&(notey < 9.3)) then zz = 4
  89.              if ((notey > 9.4)&(notey < 13.3)) then zz = 8
  90.              if ((notey > 13.4)&(notey < 17.3)) then zz = 12
  91.              if ((notey > 17.4)&(notey < 21.3)) then zz = 16
  92.              if ((notey > 21.4)&(notey < 25.3)) then zz = 20
  93.              if notey > 25.3 then noteneingabe()
  94.             end
  95.            end
  96.      end
  97.    when res == 'b' then
  98. clickb:
  99.       do
  100.         clickbox = ppm_ClickOnBox("Pleace click on a box, where I shall work away ...")
  101.         if clickbox == '' then clickb()
  102.         pos = ppm_GetBoxPosition(clickbox)
  103.         notex = word(pos, 1)
  104.         notey = word(pos, 2)
  105.         xw = notex
  106.         if notex <= 1 then  noteneingabe()
  107.         yw = notey
  108.         secondbox = ppm_BoxAtPosn(notex, notey, page)
  109.         if systemart ~= '2' then
  110.          do
  111.           if notey <= 3.3  then zz= 0   /* zz ist ZeilenZähler */
  112.           if ((notey > 3.5)&(notey < 5.3)) then zz = 2
  113.           if ((notey > 5.5)&(notey < 7.3)) then zz = 4
  114.           if ((notey > 7.5)&(notey < 9.3)) then zz = 6
  115.           if ((notey > 9.5)&(notey < 11.3)) then zz = 8
  116.           if ((notey > 11.5)&(notey < 13.3)) then zz = 10
  117.           if ((notey > 13.5)&(notey < 15.3)) then zz = 12
  118.           if ((notey > 15.5)&(notey < 17.3)) then zz = 14
  119.           if ((notey > 17.5)&(notey < 19.3)) then zz = 16
  120.           if ((notey > 19.5)&(notey < 21.3)) then zz = 18
  121.           if ((notey > 21.5)&(notey < 23.3)) then zz = 20
  122.           if ((notey > 23.5)&(notey < 25.3)) then zz = 22
  123.           if notey > 25.3 then noteneingabe()
  124.          end
  125.         else
  126.          do
  127.           if notey <= 5.3  then zz= 0   /* zz ist ZeilenZähler */
  128.           if ((notey > 5.4)&(notey < 9.3)) then zz = 4
  129.           if ((notey > 9.4)&(notey < 13.3)) then zz = 8
  130.           if ((notey > 13.4)&(notey < 17.3)) then zz = 12
  131.           if ((notey > 17.4)&(notey < 21.3)) then zz = 16
  132.           if ((notey > 21.4)&(notey < 25.3)) then zz = 20
  133.           if notey > 25.3 then noteneingabe()
  134.          end
  135.       end
  136.    otherwise clickpos()
  137.  end
  138.  
  139.    /* pointerbox */
  140.  
  141.    zbid = ppm_CreateBox(notex, zz+zdist2+0.5, 0.3, 1, 0)
  142.    call ppm_SetSize(26)
  143.    zbn = ppm_GetBoxName(zbid)
  144.    call ppm_TextIntoBox(zbn, '5')
  145.  
  146. notenwert:
  147.  
  148.    do forever
  149.            cr = '0a'x
  150.            form = "worth name ['n'at.]"
  151.            call ppm_SetBoxPosition(zbid, notex, zz+zdist2+0.5)
  152.            call ppm_UpdateScreen()
  153.            eingabe = ppm_GetForm("Please give in for the notes ...(nothing=BREAK )", 9, form)
  154.            if eingabe == '' then
  155.            do
  156.             call ppm_DeleteBox(zbid)
  157.             exit_msg("Break")
  158.            end
  159.            nw = word(eingabe, 1)
  160.            if nw == 'P' then nw = 'p'
  161.            nn = word(eingabe, 2)
  162.            al = word(eingabe, 3)
  163.            if al == 'N' then al = 'n'
  164.            IF nw == 'D' then nw = 'd'
  165.            if nw == 'C' then nw = 'C'
  166.            if nw == 'L' then nw = 'l'
  167.            if nw == 'M' then nw = 'm'
  168.            if nn == 'L' then nn = 'l'
  169.            if nw == "NEW" then nw = "new"
  170.  
  171.  
  172.             select
  173.               when nn=='DB1' then nn = 'Db1'
  174.               when nn=='EB1' then nn = 'Eb1'
  175.               when nn=='GB1' then nn = 'Gb1'
  176.               when nn=='AB1' then nn = 'Ab1'
  177.               when nn=='BB1' then nn = 'Bb1'
  178.               when nn=='DB2' then nn = 'Db2'
  179.               when nn=='EB2' then nn = 'Eb2'
  180.               when nn=='GB2' then nn = 'Gb2'
  181.               when nn=='AB2' then nn = 'Ab2'
  182.               when nn=='BB2' then nn = 'Bb2'
  183.               when nn=='DB3' then nn = 'Db3'
  184.               when nn=='EB3' then nn = 'Eb3'
  185.               when nn=='GB3' then nn = 'Gb3'
  186.               when nn=='AB3' then nn = 'Ab3'
  187.               otherwise NOP
  188.             end
  189.  
  190.     /* x-distance of the notes*/
  191. auswahl:
  192.      select
  193.       when nw == 's' then
  194.           do
  195.           xw = xg/16
  196.           nw='x'
  197.           yv = 0
  198.           end
  199.       when nw  == 'S' then
  200.           do
  201.           xw = xg/16
  202.           nw='X'
  203.           yv = 0.47
  204.           end
  205.       when nw == 'e' then
  206.           do
  207.           xw = xg/8
  208.           nw='e'
  209.           yv = 0
  210.           end
  211.       when nw == 'E' then
  212.           do
  213.           xw = xg/8
  214.           nw='E'
  215.           yv = 0.47
  216.           end
  217.       when nw == 'q' then
  218.           do
  219.           xw = xg/4
  220.           nw='q'
  221.           yv = 0
  222.           end
  223.       when nw == 'Q' then
  224.           do
  225.           xw = xg/4
  226.           nw='Q'
  227.           yv = 0.47
  228.           end
  229.       when nw == 'h' then
  230.           do
  231.           xw = xg/2
  232.           yv = 0
  233.           end
  234.       when nw == 'H' then
  235.           do
  236.           xw = xg/2
  237.           yv = 0.47
  238.           end
  239.       when nw == 'w' then
  240.           do
  241.           xw = xg
  242.           nw='w'
  243.           yv = 0
  244.           end
  245.       when nw == 'W' then
  246.           do
  247.           xw = xg
  248.           nw='W'
  249.           yv = 0.47
  250.           end
  251.  
  252.      /* 2 eigth- or sixteenthnotes join together by a beam(fat line) */
  253.  
  254.       when nw=='m' then
  255.           do
  256.             call ppm_SetEdit(secondbox)
  257.             call ppm_SelectBoxText()
  258.             boxtxt=ppm_GetBlockText(0)
  259.             btb=word(boxtxt,1)
  260.             select
  261.                 when btb=='e' then
  262.                 do
  263.                   fbx=0.45
  264.                   fby=0.12
  265.                   newtxt='q'
  266.                   balk=1
  267.                 end
  268.                 when btb=='E' then
  269.                 do
  270.                   fbx=0.145
  271.                   fby=0.73
  272.                   newtxt='Q'
  273.                   balk=1
  274.                 end
  275.                 when btb=='x' then
  276.                 do
  277.                   fbx=0.45
  278.                   fby=0.12
  279.                   newtxt='q'
  280.                   balk=2
  281.                 end
  282.                 when btb=='X' then
  283.                 do
  284.                   fbx=0.145
  285.                   fby=0.73
  286.                   newtxt='Q'
  287.                   balk=2
  288.                 end
  289.                 otherwise
  290.                 do
  291.                     call ppm_EndEdit()
  292.                     call ppm_Inform(1,"Only eight or sixteenth are able to merge!!!","OK")
  293.                     notenwert()
  294.                 end
  295.             end
  296.             call ppm_Cut()
  297.             call ppm_UnBlock()
  298.             call ppm_EndEdit()
  299.             call ppm_TextIntoBox(secondbox, newtxt)
  300.             boxposb=ppm_GetBoxPosition(secondbox)
  301.             boxbx=word(boxposb,1)
  302.             boxby=word(boxposb,2)
  303.             if boxbosbx <= 3 then
  304.             do
  305.                 call ppm_Inform(1,"Merge not accross the lineend !!!","OK")
  306.                 notenwert()
  307.             end
  308.             do forever
  309.               info = ppm_GetBoxInfo(firstbox)
  310.               type = word(info,1)
  311.               if type ~= "Text" then firstbox = firstbox - 1
  312.               else break
  313.             end
  314.             curbox=ppm_ArtFirstBox(firstbox)
  315.             call ppm_SetEdit(curbox)
  316.             call ppm_SelectBoxText()
  317.             boxtxt=ppm_GetBlockText(0)
  318.             bta=word(boxtxt,1)
  319.             select
  320.                 when bta=='e' then
  321.                 do
  322.                   fax=0.39
  323.                   fay=0.12
  324.                   newtxt='q'
  325.                 end
  326.                 when bta=='E' then
  327.                 do
  328.                   fax=0.085
  329.                   fay=0.73
  330.                   newtxt='Q'
  331.                 end
  332.                 when bta=='x' then
  333.                 do
  334.                   fax=0.39
  335.                   fay=0.12
  336.                   newtxt='q'
  337.                 end
  338.                 when bta=='X' then
  339.                 do
  340.                   fax=0.085
  341.                   fay=0.73
  342.                   newtxt='Q'
  343.                 end
  344.                 otherwise
  345.                 do
  346.                     call ppm_EndEdit()
  347.                     call ppm_Inform(1,"Only eight or sixteenth are able to merge!!!","OK")
  348.                     notenwert()
  349.                 end
  350.             end
  351.             if bta ~= btb then
  352.             do
  353.                 call ppm_EndEdit()
  354.                 call ppm_Inform(1,"Only same notes are able to merge!!!","OK")
  355.                 call ppm_SetEdit(secondbox)
  356.                 call ppm_SelectBoxText()
  357.                 call ppm_Cut()
  358.                 call ppm_EndEdit()
  359.                 call ppm_TextIntoBox(secondbox, btb)
  360.                 notenwert()
  361.             end
  362.             call ppm_Cut()
  363.             call ppm_UnBlock()
  364.             call ppm_EndEdit()
  365.             call ppm_TextIntoBox(curbox, newtxt)
  366.             boxposa=ppm_GetBoxPosition(curbox)
  367.             boxax=word(boxposa,1)
  368.             boxay=word(boxposa,2)
  369.             call ppm_SetLineWeight(3)
  370.             do forever
  371.               if balk == 0 then break
  372.               lineid=ppm_DrawLine(boxax+fax, boxay+fay, boxbx+fbx, boxby+fby)
  373.               call ppm_SetBoxOffset(lineid, -0.08, 0)
  374.               measure=ppm_GetBoxSize(lineid)
  375.               linex = word(measure,1)
  376.               liney = word(measure,2)
  377.               call ppm_SetBoxSize(lineid, linex - 0.155, liney)
  378.               if bta == 'x' then
  379.               do
  380.                 fay = fay + 0.2
  381.                 fby = fby + 0.2
  382.               end
  383.               if bta == 'X' then
  384.               do
  385.                 fay = fay - 0.2
  386.                 fby = fby - 0.2
  387.               end
  388.               balk = balk - 1
  389.             end
  390.             call ppm_ArtFirstBox(secondbox)
  391.             call ppm_SetLineWeight(0.5)
  392.           end
  393.  
  394.       /*Point after the note*/
  395.  
  396.       when nw == 'pt' then
  397.           do
  398.             if notex < 3 then
  399.             do
  400.               notex = bakx
  401.               zz = zz - zdist
  402.               call ppm_SetSize(25)
  403.               box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  404.               call ppm_SetSize(20)
  405.               call ppm_TextIntoBox(box#id, 'd')
  406.             end
  407.             else
  408.             do
  409.               call ppm_SetSize(25)
  410.               box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  411.               call ppm_SetSize(20)
  412.               call ppm_TextIntoBox(box#id, 'd')
  413.             end
  414.  
  415.            select
  416.                when nn == '1' then
  417.                do
  418.                xw = xg
  419.                notex = notex+xw
  420.                end
  421.                when nn == '2' then
  422.                do
  423.                xw = xg/2
  424.                notex = notex+xw
  425.                end
  426.                when nn == '4' then
  427.                do
  428.                xw = xg/4
  429.                notex = notex+xw
  430.                end
  431.                when nn == '8' then
  432.                do
  433.                xw = xg/8
  434.                notex = notex+xw
  435.                end
  436.                when nn == '16' then
  437.                do
  438.                xw  = xg/16
  439.                notex = notex+xw
  440.                end
  441.                when nn == 'l' then
  442.                do
  443.                xw  = 0.2
  444.                notex = notex+xw
  445.                end
  446.                otherwise notenwert()
  447.            end
  448.            if notex >=18.7 then
  449.                do
  450.                  notex = (2+(vz*0.175))
  451.                  zz = zz + zdist
  452.                end
  453.            px = notex - 4
  454.            py = zz-1
  455.            if px < 0 then px = 0
  456.            call ppm_SetPagePosition(px, py+1.5)
  457.            notenwert()
  458.  
  459.           end
  460.  
  461.       when nw == 'PT' then
  462.           do
  463.             if notex < 3 then
  464.             do
  465.               notex = bakx
  466.               zz = zz - zdist
  467.               call ppm_SetSize(25)
  468.               box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  469.               call ppm_SetSize(20)
  470.               call ppm_TextIntoBox(box#id, 'd')
  471.             end
  472.             else
  473.             do
  474.               call ppm_SetSize(25)
  475.               box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  476.               call ppm_SetSize(20)
  477.               call ppm_TextIntoBox(box#id, 'd')
  478.             end
  479.            select
  480.                when nn == '1' then
  481.                do
  482.                xw = xg
  483.                notex = notex+xw
  484.                end
  485.                when nn == '2' then
  486.                do
  487.                xw = xg/2
  488.                notex = notex+xw
  489.                end
  490.                when nn == '4' then
  491.                do
  492.                xw = xg/4
  493.                notex = notex+xw
  494.                end
  495.                when nn == '8' then
  496.                do
  497.                xw = xg/8
  498.                notex = notex+xw
  499.                end
  500.                when nn == '16' then
  501.                do
  502.                xw  = xg/16
  503.                notex = notex+xw
  504.                end
  505.                when nn == 'l' then
  506.                do
  507.                xw  = 0.2
  508.                notex = notex+xw
  509.                end
  510.                otherwise notenwert()
  511.            end
  512.            if notex >=18.7 then
  513.                do
  514.                  notex = (2+(vz*0.175))
  515.                  zz = zz + zdist
  516.                end
  517.            px = notex - 4
  518.            py = zz-1
  519.            if px < 0 then px = 0
  520.            call ppm_SetPagePosition(px, py+1.5)
  521.            notenwert()
  522.           end
  523.  
  524.  
  525.      /* Delete */
  526.       when nw == 'd' then
  527.           do
  528.            secondbox=firstbox
  529.            oldpos = notex
  530.            thisbox = ppm_BoxNum()
  531.            if thisbox == zbid then
  532.              do
  533.              ppm_Inform(1, "Nothing to delete!","OK")
  534.              notenwert()
  535.              end
  536.            lpos= ppm_GetBoxPosition()
  537.            notex = word(lpos, 1)
  538.            call ppm_DeleteBox()
  539.            diff = oldpos - notex
  540.            if (diff < 0.3)&(diff > 0.1) then notex = notex + 0.23
  541.            py = zz - 1
  542.            px = notex - 4
  543.            if px < 0 then px = 0
  544.            call ppm_SetPagePosition(px, py+1.5)
  545.            notenwert()
  546.           end
  547.  
  548.       /* barline */
  549.       when nw == 'l' then
  550.           do
  551.            call ppm_SetLineWeight(0.25)
  552.            call ppm_DrawLine(notex, 2+zz+zdist2, notex, 2.8+zz+zdist2)
  553.            notex = notex+0.2
  554.           end
  555.  
  556.  
  557.       when nw == 'p' | when nw == 'P' then
  558.       do
  559. pausenwert:
  560.         x = notex
  561.         select
  562.             when nn == '1' then do
  563.  
  564.                 y = 2.29+zz+zdist2
  565.                 call ppm_SetLineWeight(4)
  566.                 call ppm_DrawLine(x, y, x+0.4, y)
  567.                 call ppm_SetLineWeight(0.25)
  568.                 xw = xg
  569.                 notex = notex+xw
  570.             end
  571.  
  572.             when nn == '2' then do
  573.  
  574.                 y = 2.33+zz+zdist2
  575.                 call ppm_SetLineWeight(4)
  576.                 call ppm_DrawLine(x, y, x+0.4, y)
  577.                 call ppm_SetLineWeight(0.25)
  578.                 xw = xg/2
  579.                 notex = notex+xw
  580.             end
  581.  
  582.             when nn == '4' then do
  583.  
  584.                 y = 2.07+zz+zdist2
  585.                 Pbox = ppm_CreateBox(x, y, 0.59, 0.86, 0)
  586.                 boxnm = ppm_DocNextBox(Pbox)
  587.                 call ppm_DeleteContents(boxnm)
  588.                 call ppm_ImportGraphic(boxnm, 'Genies:note_pause/quarterpause', pause)
  589.                 xw = xg/4
  590.                 notex = notex+xw
  591.             end
  592.  
  593.             when nn == '8' then do
  594.  
  595.                 y = 2.21+zz+zdist2
  596.                 Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
  597.                 boxnm = ppm_DocNextBox(Pbox)
  598.                 call ppm_DeleteContents(boxnm)
  599.                 call ppm_ImportGraphic(boxnm, 'Genies:note_pause/eighthpause', pause)
  600.                 xw = xg/8
  601.                 notex = notex+xw
  602.             end
  603.  
  604.             when nn == '16' then do
  605.  
  606.                 y = 2.21+zz+zdist2
  607.                 Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
  608.                 boxnm = ppm_DocNextBox(Pbox)
  609.                 call ppm_DeleteContents(boxnm)
  610.                 call ppm_ImportGraphic(boxnm, 'Genies:note_pause/sixteenthpause', pause)
  611.                 xw = xg/16
  612.                 notex = notex+xw
  613.             end
  614.         otherwise notenwert()
  615.         end
  616.         if notex >=18.7 then
  617.             do
  618.               notex = (2+(vz*0.175))
  619.               zz = zz + zdist
  620.             end
  621.         px = notex - 4
  622.         py = zz-1
  623.         if px < 0 then px = 0
  624.         call ppm_SetPagePosition(px, py+1.5)
  625.         notenwert()
  626.       end
  627.  
  628.     /* spaces */
  629.  
  630.       when nw == 'c' then
  631.         do
  632.            select
  633.                when nn == '1' then
  634.                do
  635.                xw = xg
  636.                notex = notex+xw
  637.                end
  638.                when nn == '2' then
  639.                do
  640.                xw = xg/2
  641.                notex = notex+xw
  642.                end
  643.                when nn == '4' then
  644.                do
  645.                xw = xg/4
  646.                notex = notex+xw
  647.                end
  648.                when nn == '8' then
  649.                do
  650.                xw = xg/8
  651.                notex = notex+xw
  652.                end
  653.                when nn == '16' then
  654.                do
  655.                xw  = xg/16
  656.                notex = notex+xw
  657.                end
  658.                when nn == 'l' then
  659.                do
  660.                xw  = 0.2
  661.                notex = notex+xw
  662.                end
  663.                otherwise notenwert()
  664.            end
  665.            if notex >=18.7 then
  666.                do
  667.                  notex = (2+(vz*0.175))
  668.                  zz = zz + zdist
  669.                end
  670.            px = notex - 4
  671.            py = zz-1
  672.            if px < 0 then px = 0
  673.            call ppm_SetPagePosition(px, py+1.5)
  674.            notenwert()
  675.         end
  676.  
  677.       when nw == 'new' then
  678.         do
  679.           call ppm_DeleteBox(zbid)
  680.           clickpos()
  681.         end
  682.       otherwise notenwert()
  683.       end
  684.  
  685.         /* y-distance of the notes - notestem to top */
  686.  
  687.        call ppm_SetLineWeight(0.25)
  688.  
  689.       select
  690.         when nn=='g#3'  then
  691.         do
  692.             yw = 0.745 + zdist2
  693.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  694.             call ppm_SetSize(20)
  695.             call ppm_TextIntoBox(box#id, 's')
  696.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  697.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  698.             call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
  699.         end
  700.  
  701.         when nn=='g3'  then
  702.         do
  703.             yw = 0.745 + zdist2
  704.             if al == 'n' then call auflhoch()
  705.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  706.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  707.             call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
  708.         end
  709.  
  710.         when nn=='gb3' then
  711.         do
  712.             yw = 0.745 + zdist2
  713.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  714.             call ppm_SetSize(20)
  715.             call ppm_TextIntoBox(box#id, 'f')
  716.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  717.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  718.             call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
  719.         end
  720.  
  721.         when nn=='f#3'  then
  722.         do
  723.             yw = 0.845 + zdist2
  724.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  725.             call ppm_SetSize(20)
  726.             call ppm_TextIntoBox(box#id, 's')
  727.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  728.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  729.         end
  730.  
  731.         when nn=='f3'  then
  732.         do
  733.             yw = 0.845 + zdist2
  734.             if al == 'n' then call auflhoch()
  735.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  736.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  737.         end
  738.  
  739.         when nn=='e#3'  then
  740.         do
  741.             yw = 0.945 + zdist2
  742.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  743.             call ppm_SetSize(20)
  744.             call ppm_TextIntoBox(box#id, 's')
  745.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  746.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  747.         end
  748.  
  749.         when nn=='e3'  then
  750.         do
  751.             yw = 0.945 + zdist2
  752.             if al == 'n' then call auflhoch()
  753.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  754.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  755.         end
  756.  
  757.         when nn=='eb3' then
  758.         do
  759.             yw = 0.945 + zdist2
  760.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  761.             call ppm_SetSize(20)
  762.             call ppm_TextIntoBox(box#id, 'f')
  763.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  764.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  765.         end
  766.  
  767.         when nn=='d#3'  then
  768.         do
  769.             yw = 1.045 + zdist2
  770.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  771.             call ppm_SetSize(20)
  772.             call ppm_TextIntoBox(box#id, 's')
  773.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  774.         end
  775.  
  776.         when nn=='d3' then
  777.         do
  778.             yw = 1.045 + zdist2
  779.             if al == 'n' then call auflhoch()
  780.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  781.         end
  782.  
  783.         when nn=='db3'    then
  784.         do
  785.             yw = 1.045 + zdist2
  786.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  787.             call ppm_SetSize(20)
  788.             call ppm_TextIntoBox(box#id, 'f')
  789.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  790.         end
  791.  
  792.         when nn=='c#3'    then
  793.         do
  794.             yw = 1.145 + zdist2
  795.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  796.             call ppm_SetSize(20)
  797.             call ppm_TextIntoBox(box#id, 's')
  798.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  799.         end
  800.  
  801.         when nn=='c3'     then
  802.         do
  803.             yw = 1.145 + zdist2
  804.             if al == 'n' then call auflhoch()
  805.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  806.         end
  807.  
  808.         when nn=='b2'     then
  809.         do
  810.             yw = 1.245 + zdist2
  811.             if al == 'n' then call auflhoch()
  812.         end
  813.         when nn=='bb2'     then
  814.         do
  815.             yw = 1.245 + zdist2
  816.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  817.             call ppm_SetSize(20)
  818.             call ppm_TextIntoBox(box#id, 'f')
  819.         end
  820.  
  821.         when nn=='a#2'    then
  822.         do
  823.             yw = 1.345 + zdist2
  824.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  825.             call ppm_SetSize(20)
  826.             call ppm_TextIntoBox(box#id, 's')
  827.         end
  828.  
  829.         when nn=='a2'     then
  830.         do
  831.             yw = 1.345 + zdist2
  832.             if al == 'n' then call auflhoch()
  833.         end
  834.         when nn=='ab2'    then
  835.         do
  836.             yw = 1.345 + zdist2
  837.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  838.             call ppm_SetSize(20)
  839.             call ppm_TextIntoBox(box#id, 'f')
  840.         end
  841.  
  842.         when nn=='g#2'    then
  843.         do
  844.             yw = 1.445 + zdist2
  845.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  846.             call ppm_SetSize(20)
  847.             call ppm_TextIntoBox(box#id, 's')
  848.         end
  849.  
  850.         when nn=='g2'     then
  851.         do
  852.             yw = 1.445 + zdist2
  853.             if al == 'n' then call auflhoch()
  854.         end
  855.         when nn=='gb2'    then
  856.         do
  857.             yw = 1.445 + zdist2
  858.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  859.             call ppm_SetSize(20)
  860.             call ppm_TextIntoBox(box#id, 'f')
  861.         end
  862.  
  863.         when nn=='f#2'    then
  864.         do
  865.             yw = 1.545 + zdist2
  866.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  867.             call ppm_SetSize(20)
  868.             call ppm_TextIntoBox(box#id, 's')
  869.         end
  870.  
  871.         when nn=='f2' then
  872.         do
  873.             yw = 1.545 + zdist2
  874.             if al == 'n' then call auflhoch()
  875.         end
  876.         when nn=='e#2'  then
  877.         do
  878.             yw = 1.645 + zdist2
  879.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  880.             call ppm_SetSize(20)
  881.             call ppm_TextIntoBox(box#id, 's')
  882.         end
  883.         when nn=='e2'     then
  884.         do
  885.             yw = 1.645 + zdist2
  886.             if al == 'n' then call auflhoch()
  887.         end
  888.         when nn=='eb2'    then
  889.         do
  890.             yw = 1.645 + zdist2
  891.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  892.             call ppm_SetSize(20)
  893.             call ppm_TextIntoBox(box#id, 'f')
  894.         end
  895.  
  896.         when nn=='d#2'    then
  897.         do
  898.             yw = 1.745 + zdist2
  899.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  900.             call ppm_SetSize(20)
  901.             call ppm_TextIntoBox(box#id, 's')
  902.         end
  903.  
  904.         when nn=='d2'     then
  905.         do
  906.             yw = 1.745 + zdist2
  907.             if al == 'n' then call auflhoch()
  908.         end
  909.         when nn=='db2'    then
  910.         do
  911.             yw = 1.745 + zdist2
  912.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  913.             call ppm_SetSize(20)
  914.             call ppm_TextIntoBox(box#id, 'f')
  915.         end
  916.  
  917.         when nn=='c#2'    then
  918.         do
  919.             yw = 1.845 + zdist2
  920.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  921.             call ppm_SetSize(20)
  922.             call ppm_TextIntoBox(box#id, 's')
  923.         end
  924.  
  925.         when nn=='c2'     then
  926.         do
  927.             yw = 1.845 + zdist2
  928.             if al == 'n' then call auflhoch()
  929.         end
  930.         when nn=='b1'     then
  931.         do
  932.             yw = 1.945 + zdist2
  933.             if al == 'n' then call auflhoch()
  934.         end
  935.         when nn=='bb1'     then
  936.         do
  937.             yw = 1.945 + zdist2
  938.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  939.             call ppm_SetSize(20)
  940.             call ppm_TextIntoBox(box#id, 'f')
  941.         end
  942.  
  943.         when nn=='a#1'    then
  944.         do
  945.             yw = 2.045 + zdist2
  946.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  947.             call ppm_SetSize(20)
  948.             call ppm_TextIntoBox(box#id, 's')
  949.         end
  950.  
  951.         when nn=='a1'     then
  952.         do
  953.             yw = 2.045 + zdist2
  954.             if al == 'n' then call auflhoch()
  955.         end
  956.         when nn=='ab1'    then
  957.         do
  958.             yw = 2.045 + zdist2
  959.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  960.             call ppm_SetSize(20)
  961.             call ppm_TextIntoBox(box#id, 'f')
  962.         end
  963.  
  964.         when nn=='g#1'    then
  965.         do
  966.             yw = 2.145 + zdist2
  967.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  968.             call ppm_SetSize(20)
  969.             call ppm_TextIntoBox(box#id, 's')
  970.         end
  971.  
  972.         when nn=='g1'     then
  973.         do
  974.             yw = 2.145 + zdist2
  975.             if al == 'n' then call auflhoch()
  976.         end
  977.         when nn=='gb1'    then
  978.         do
  979.             yw = 2.145 + zdist2
  980.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  981.             call ppm_SetSize(20)
  982.             call ppm_TextIntoBox(box#id, 'f')
  983.         end
  984.  
  985.         when nn=='f#1'    then
  986.         do
  987.             yw = 2.245 + zdist2
  988.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  989.             call ppm_SetSize(20)
  990.             call ppm_TextIntoBox(box#id, 's')
  991.         end
  992.  
  993.         when nn=='f1'     then
  994.         do
  995.             yw = 2.245 + zdist2
  996.             if al == 'n' then call auflhoch()
  997.         end
  998.  
  999.         when nn=='e#1'  then
  1000.         do
  1001.             yw = 2.345 + zdist2
  1002.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  1003.             call ppm_SetSize(20)
  1004.             call ppm_TextIntoBox(box#id, 's')
  1005.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1006.         end
  1007.         when nn=='e1' then
  1008.         do
  1009.             yw = 2.345 + zdist2
  1010.             if al == 'n' then call auflhoch()
  1011.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1012.         end
  1013.  
  1014.         when nn=='eb1'  then
  1015.         do
  1016.             yw = 2.345 + zdist2
  1017.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  1018.             call ppm_SetSize(20)
  1019.             call ppm_TextIntoBox(box#id, 'f')
  1020.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1021.         end
  1022.  
  1023.         when nn=='d#1'  then
  1024.         do
  1025.             yw = 2.445 + zdist2
  1026.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  1027.             call ppm_SetSize(20)
  1028.             call ppm_TextIntoBox(box#id, 's')
  1029.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1030.         end
  1031.  
  1032.         when nn=='d1'  then
  1033.         do
  1034.             yw = 2.445 + zdist2
  1035.             if al == 'n' then call auflhoch()
  1036.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1037.         end
  1038.  
  1039.         when nn=='db1' then
  1040.         do
  1041.             yw = 2.445 + zdist2
  1042.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  1043.             call ppm_SetSize(20)
  1044.             call ppm_TextIntoBox(box#id, 'f')
  1045.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1046.         end
  1047.  
  1048.         when nn=='c#1'  then
  1049.         do
  1050.             yw = 2.545 + zdist2
  1051.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  1052.             call ppm_SetSize(20)
  1053.             call ppm_TextIntoBox(box#id, 's')
  1054.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1055.             call ppm_DrawLine(notex, zz+zdist2+3.2, (notex+0.4), zz+zdist2+3.2)
  1056.         end
  1057.  
  1058.         when nn=='c1'  then
  1059.         do
  1060.             yw = 2.545 + zdist2
  1061.             if al == 'n' then call auflhoch()
  1062.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1063.             call ppm_DrawLine(notex, zz+zdist2+3.2, (notex+0.4), zz+zdist2+3.2)
  1064.         end
  1065.  
  1066.     /* y-Raster der Noten - Notenhälse nach unten */
  1067.  
  1068.         when nn=='G#3'  then
  1069.         do
  1070.             yw = 1.22 + zdist2
  1071.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1072.             call ppm_SetSize(20)
  1073.             call ppm_TextIntoBox(box#id, 's')
  1074.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1075.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  1076.             call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
  1077.         end
  1078.  
  1079.         when nn=='G3'  then
  1080.         do
  1081.             yw = 1.22 + zdist2
  1082.             if al == 'n' then call aufltief()
  1083.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1084.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  1085.             call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
  1086.         end
  1087.  
  1088.         when nn=='Gb3' then
  1089.         do
  1090.             yw = 1.22 + zdist2
  1091.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1092.             call ppm_SetSize(20)
  1093.             call ppm_TextIntoBox(box#id, 'f')
  1094.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1095.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  1096.             call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
  1097.         end
  1098.  
  1099.         when nn=='F#3'  then
  1100.         do
  1101.             yw = 1.32 + zdist2
  1102.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1103.             call ppm_SetSize(20)
  1104.             call ppm_TextIntoBox(box#id, 's')
  1105.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1106.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  1107.         end
  1108.  
  1109.         when nn=='F3'  then
  1110.         do
  1111.             yw = 1.32 + zdist2
  1112.             if al == 'n' then call aufltief()
  1113.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1114.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  1115.         end
  1116.  
  1117.         when nn=='E#3'  then
  1118.         do
  1119.             yw = 1.42 + zdist2
  1120.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1121.             call ppm_SetSize(20)
  1122.             call ppm_TextIntoBox(box#id, 's')
  1123.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1124.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  1125.         end
  1126.  
  1127.         when nn=='E3'  then
  1128.         do
  1129.             yw = 1.42 + zdist2
  1130.             if al == 'n' then call aufltief()
  1131.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1132.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  1133.         end
  1134.  
  1135.         when nn=='Eb3' then
  1136.         do
  1137.             yw = 1.42 + zdist2
  1138.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1139.             call ppm_SetSize(20)
  1140.             call ppm_TextIntoBox(box#id, 'f')
  1141.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1142.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  1143.         end
  1144.  
  1145.         when nn=='D#3'  then
  1146.         do
  1147.             yw = 1.52 + zdist2
  1148.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1149.             call ppm_SetSize(20)
  1150.             call ppm_TextIntoBox(box#id, 's')
  1151.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1152.         end
  1153.  
  1154.         when nn=='D3' then
  1155.         do
  1156.             yw = 1.52 + zdist2
  1157.             if al == 'n' then call aufltief()
  1158.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1159.         end
  1160.  
  1161.         when nn=='Db3' then
  1162.         do
  1163.             yw = 1.52 + zdist2
  1164.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1165.             call ppm_SetSize(20)
  1166.             call ppm_TextIntoBox(box#id, 'f')
  1167.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1168.         end
  1169.  
  1170.         when nn=='C#3'    then
  1171.         do
  1172.             yw = 1.62 + zdist2
  1173.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1174.             call ppm_SetSize(20)
  1175.             call ppm_TextIntoBox(box#id, 's')
  1176.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1177.         end
  1178.  
  1179.         when nn=='C3'     then
  1180.         do
  1181.             yw = 1.62 + zdist2
  1182.             if al == 'n' then call aufltief()
  1183.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1184.         end
  1185.  
  1186.         when nn=='B2'     then
  1187.         do
  1188.             yw = 1.72 + zdist2
  1189.             if al == 'n' then call aufltief()
  1190.         end
  1191.         when nn=='Bb2'     then
  1192.         do
  1193.             yw = 1.72 + zdist2
  1194.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1195.             call ppm_SetSize(20)
  1196.             call ppm_TextIntoBox(box#id, 'f')
  1197.         end
  1198.  
  1199.         when nn=='A#2'    then
  1200.         do
  1201.             yw = 1.82 + zdist2
  1202.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1203.             call ppm_SetSize(20)
  1204.             call ppm_TextIntoBox(box#id, 's')
  1205.         end
  1206.  
  1207.         when nn=='A2'     then
  1208.         do
  1209.             yw = 1.82 + zdist2
  1210.             if al == 'n' then call aufltief()
  1211.         end
  1212.         when nn=='Ab2'    then
  1213.         do
  1214.             yw = 1.82 + zdist2
  1215.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1216.             call ppm_SetSize(20)
  1217.             call ppm_TextIntoBox(box#id, 'f')
  1218.         end
  1219.  
  1220.         when nn=='G#2'    then
  1221.         do
  1222.             yw = 1.92 + zdist2
  1223.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1224.             call ppm_SetSize(20)
  1225.             call ppm_TextIntoBox(box#id, 's')
  1226.         end
  1227.  
  1228.         when nn=='G2'     then
  1229.         do
  1230.             yw = 1.92 + zdist2
  1231.             if al == 'n' then call aufltief()
  1232.         end
  1233.         when nn=='Gb2'    then
  1234.         do
  1235.             yw = 1.92 + zdist2
  1236.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1237.             call ppm_SetSize(20)
  1238.             call ppm_TextIntoBox(box#id, 'f')
  1239.         end
  1240.  
  1241.         when nn=='F#2'    then
  1242.         do
  1243.             yw = 2.02 + zdist2
  1244.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1245.             call ppm_SetSize(20)
  1246.             call ppm_TextIntoBox(box#id, 's')
  1247.         end
  1248.  
  1249.         when nn=='F2'     then
  1250.         do
  1251.             yw = 2.02 + zdist2
  1252.             if al == 'n' then call aufltief()
  1253.         end
  1254.         when nn=='E#2'    then
  1255.         do
  1256.             yw = 2.12 + zdist2
  1257.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1258.             call ppm_SetSize(20)
  1259.             call ppm_TextIntoBox(box#id, 's')
  1260.         end
  1261.  
  1262.         when nn=='E2'     then
  1263.         do
  1264.             yw = 2.12 + zdist2
  1265.             if al == 'n' then call aufltief()
  1266.         end
  1267.         when nn=='Eb2'    then
  1268.         do
  1269.             yw = 2.12 + zdist2
  1270.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1271.             call ppm_SetSize(20)
  1272.             call ppm_TextIntoBox(box#id, 'f')
  1273.         end
  1274.  
  1275.         when nn=='D#2'    then
  1276.         do
  1277.             yw = 2.22 + zdist2
  1278.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1279.             call ppm_SetSize(20)
  1280.             call ppm_TextIntoBox(box#id, 's')
  1281.         end
  1282.  
  1283.         when nn=='D2'     then
  1284.         do
  1285.             yw = 2.22 + zdist2
  1286.             if al == 'n' then call aufltief()
  1287.         end
  1288.         when nn=='Db2'    then
  1289.         do
  1290.             yw = 2.22 + zdist2
  1291.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1292.             call ppm_SetSize(20)
  1293.             call ppm_TextIntoBox(box#id, 'f')
  1294.         end
  1295.  
  1296.         when nn=='C#2'    then
  1297.         do
  1298.             yw = 2.32 + zdist2
  1299.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1300.             call ppm_SetSize(20)
  1301.             call ppm_TextIntoBox(box#id, 's')
  1302.         end
  1303.  
  1304.         when nn=='C2'     then
  1305.         do
  1306.             yw = 2.32 + zdist2
  1307.             if al == 'n' then call aufltief()
  1308.         end
  1309.         when nn=='B1'     then yw = 2.42 + zdist2
  1310.         when nn=='Bb1'     then
  1311.         do
  1312.             yw = 2.42 + zdist2
  1313.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1314.             call ppm_SetSize(20)
  1315.             call ppm_TextIntoBox(box#id, 'f')
  1316.         end
  1317.  
  1318.         when nn=='A#1'    then
  1319.         do
  1320.             yw = 2.52 + zdist2
  1321.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1322.             call ppm_SetSize(20)
  1323.             call ppm_TextIntoBox(box#id, 's')
  1324.         end
  1325.  
  1326.         when nn=='A1'     then
  1327.         do
  1328.             yw = 2.52 + zdist2
  1329.             if al == 'n' then call aufltief()
  1330.         end
  1331.         when nn=='Ab1'    then
  1332.         do
  1333.             yw = 2.52 + zdist2
  1334.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1335.             call ppm_SetSize(20)
  1336.             call ppm_TextIntoBox(box#id, 'f')
  1337.         end
  1338.  
  1339.         when nn=='G#1'    then
  1340.         do
  1341.             yw = 2.62 + zdist2
  1342.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1343.             call ppm_SetSize(20)
  1344.             call ppm_TextIntoBox(box#id, 's')
  1345.         end
  1346.  
  1347.         when nn=='G1'     then
  1348.         do
  1349.             yw = 2.62 + zdist2
  1350.             if al == 'n' then call aufltief()
  1351.         end
  1352.         when nn=='Gb1'    then
  1353.         do
  1354.             yw = 2.62 + zdist2
  1355.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1356.             call ppm_SetSize(20)
  1357.             call ppm_TextIntoBox(box#id, 'f')
  1358.         end
  1359.  
  1360.         when nn=='F#1'    then
  1361.         do
  1362.             yw = 2.72 + zdist2
  1363.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1364.             call ppm_SetSize(20)
  1365.             call ppm_TextIntoBox(box#id, 's')
  1366.         end
  1367.  
  1368.         when nn=='F1'     then
  1369.         do
  1370.             yw = 2.72 + zdist2
  1371.             if al == 'n' then call aufltief()
  1372.         end
  1373.  
  1374.         when nn=='E#1'    then
  1375.         do
  1376.             yw = 2.82 + zdist2
  1377.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1378.             call ppm_SetSize(20)
  1379.             call ppm_TextIntoBox(box#id, 's')
  1380.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1381.         end
  1382.  
  1383.         when nn=='E1' then
  1384.         do
  1385.             yw = 2.82 + zdist2
  1386.             if al == 'n' then call aufltief()
  1387.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1388.         end
  1389.  
  1390.         when nn=='Eb1'  then
  1391.         do
  1392.             yw = 2.82 + zdist2
  1393.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1394.             call ppm_SetSize(20)
  1395.             call ppm_TextIntoBox(box#id, 'f')
  1396.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1397.         end
  1398.  
  1399.         when nn=='D#1'  then
  1400.         do
  1401.             yw = 2.92 + zdist2
  1402.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1403.             call ppm_SetSize(20)
  1404.             call ppm_TextIntoBox(box#id, 's')
  1405.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1406.         end
  1407.  
  1408.         when nn=='D1'  then
  1409.         do
  1410.             yw = 2.92 + zdist2
  1411.             if al == 'n' then call aufltief()
  1412.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1413.         end
  1414.  
  1415.         when nn=='Db1' then
  1416.         do
  1417.             yw = 2.92 + zdist2
  1418.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1419.             call ppm_SetSize(20)
  1420.             call ppm_TextIntoBox(box#id, 'f')
  1421.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1422.         end
  1423.  
  1424.         when nn=='C#1'  then
  1425.         do
  1426.           yw = 3.02 + zdist2
  1427.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1428.             call ppm_SetSize(20)
  1429.             call ppm_TextIntoBox(box#id, 's')
  1430.           call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1431.           call ppm_DrawLine(notex, zz+zdist2+3.2, (notex+0.4), zz+zdist2+3.2)
  1432.         end
  1433.  
  1434.         when nn=='C1'  then
  1435.         do
  1436.           yw = 3.02 + zdist2
  1437.             if al == 'n' then call aufltief()
  1438.           call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1439.           call ppm_DrawLine(notex, zz+zdist2+3.2, (notex+0.4), zz+zdist2+3.2)
  1440.         end
  1441.         otherwise notenwert()
  1442.       end
  1443.  
  1444.         /* dimension of a notebox */
  1445.  
  1446.         notewidht = 0.64
  1447.         noteheight = 0.97
  1448.  
  1449.         firstbox = secondbox
  1450.         boxid = ppm_CreateBox(notex, yw+zz, notewidht, noteheight, 0)
  1451.         call ppm_SetSize(notepkt)
  1452.         call ppm_TextIntoBox(boxid, nw)
  1453.         bakx = notex
  1454.         notex = (notex + xw)
  1455.         if notex >=18.7 then
  1456.             do
  1457.               notex = (2+(vz*0.175))
  1458.               zz = zz + zdist
  1459.             end
  1460.         px = notex - 4
  1461.         py = zz-1
  1462.         if px < 0 then px = 0
  1463.         call ppm_SetPagePosition(px, py+1.5)
  1464.         secondbox=boxid
  1465.       end
  1466.    end
  1467.  end
  1468. exit
  1469.  
  1470. auflhoch:
  1471. do
  1472.   Pbox = ppm_CreateBox(notex-0.34, yw+zz+0.07, 0.6, 1.2, 0)
  1473.   boxnm = ppm_DocNextBox(Pbox)
  1474.   call ppm_DeleteContents(boxnm)
  1475.   call ppm_ImportGraphic(boxnm, 'Genies:note_pause/naturalsng', Zeichen)
  1476.   return
  1477. end
  1478.  
  1479. aufltief:
  1480. do
  1481.   Pbox = ppm_CreateBox(notex-0.34, yw+zz-0.4, 0.6, 1.2, 0)
  1482.   boxnm = ppm_DocNextBox(Pbox)
  1483.   call ppm_DeleteContents(boxnm)
  1484.   call ppm_ImportGraphic(boxnm, 'Genies:note_pause/naturalsng', Zeichen)
  1485.   return
  1486. end
  1487.  
  1488. break_d:
  1489. break_e:
  1490. break_c:
  1491. halt:
  1492.     call exit_msg("User aborted Genie!")
  1493.  
  1494. exit_msg: procedure
  1495. do
  1496.     parse arg message
  1497.  
  1498.     if message ~= '' then
  1499.     call ppm_Inform(1,message,)
  1500.  
  1501.     call ppm_ClearStatus()
  1502.     call ppm_AutoUpdate(1)
  1503.     exit
  1504. end
  1505.